/**
 * Copyright 2010 Balaji Thennarangam.
 */
package com.kathez.logging;

import java.util.logging.Logger;

import com.kathez.KathezRoot;
import com.kathez.exceptions.KathezException;

/**
 * Root Interface for the Logging framework in the Kathez project
 * 
 * @author Balaji T
 *
 */
public interface IKathezLogger extends KathezRoot {
	
	/**
	 * Returns the default Logger.
	 * 
	 * @return {@link java.util.logging.Logger} Logger 
	 * @throws KathezException
	 */
	Logger getLogger();
	
	/**
	 * Returns the logger for the given name
	 * 
	 * @param loggerName
	 * @return {@link java.util.logging.Logger} Logger
	 * @throws KathezException
	 */
	Logger getLogger(String loggerName);
	
	/**
	 * Returns the logger for the given class
	 * 
	 * @param clazz
	 * @return
	 * @throws KathezException
	 */
	Logger getLogger(Class<?> clazz);
}
